<!doctype html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport"
          content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>变量</title>
</head>
<body>
<h1>JavaScript变量</h1>
<ol>
    <li>变量是由字母，数字，下划线，$组成</li>
    <li>不能以数字开头</li>
    <li>区分大小写，见名知意</li>
    <li>驼峰命名，或者_分割</li>
</ol>
<p>
    JavaScript是脚本语言，是一种弱类型语言。
</p>
<script>
    //typeof()函数相当于java的方法
    /*
     声明变量:
     数据类型 变量名;
    */
    let a
    console.log(a) //没有初始化，输出undefined
    a = 10
    console.log(a) //输出10
    console.log(typeof (a)) //推断类型，输入number
    /*
    练习：
        声明变量b 赋值false 推断类型并输出
        声明变量c 赋值12.88 推断类型并输出
        声明变量d 赋值abc 推断类型并输出
     */
    let b = false
    console.log(typeof (b))
    let c = 12.88
    console.log(typeof (c))
    let d = 'abc'
    console.log(typeof (d))

    //一次性声明多个变量
    let num1, num2, num3
    num1 = 10
    num2 = false
    num3 = 'abc'
    console.log(num1, num2, num3)

    //var声明变量：变量名可以重复声明使用(缺陷)
    var str = 'abc'
    console.log(str)
    var str = 'mark'
    console.log(str)

    //let声明变量
    //let str = 'abc'//报错Uncaught SyntaxError: Identifier 'str' has already been declared
</script>
</body>
</html>